import i18n from '@/lang'
import { getDeployDefaultConfig } from '@/utils/config'

export * from './payment'
export * from "./search"

export const folderIcons = [
    'el-icon-folder',
    'el-icon-s-promotion',
    'el-icon-s-comment',
    'el-icon-video-camera',
    'el-icon-help',
    'el-icon-camera',
    'el-icon-date',
    'el-icon-document',
    'el-icon-umbrella',
    'el-icon-film',
    'folder-icon folder-icon-digit1',
    'folder-icon folder-icon-digit2',
    'folder-icon folder-icon-digit3',
    'folder-icon folder-icon-digit4',
    'folder-icon folder-icon-digit5',
    'folder-icon folder-icon-digit6',
    'folder-icon folder-icon-digit7',
    'folder-icon folder-icon-digit8',
    'folder-icon folder-icon-digit9',
    'folder-icon folder-icon-digit0',
    'folder-icon folder-icon-flower'
    //'folder-icon folder-icon-emoji-sick',
]

export const permissions = [
    {value: 'R', label: 'Viewer-只读'},
    {value: 'RW', label: 'Editor-编辑'},
    {value: 'ALL', label: 'All-全部'}
]

export const getPermissions = () => {
    return [
        {value: 'R', label: 'teamFolders.permissionValue.R', labelShort: 'Share.readOnly'},
        {value: 'RW', label: 'teamFolders.permissionValue.RW', labelShort: 'Share.editable'},
        {value: 'ALL', label: 'teamFolders.permissionValue.ALL', labelShort: 'Share.all'}
    ]
}

export const varyPermissions = [
    {value: 'V', label: 'Multiple-多样', disabled: true},
    {value: 'R', label: 'Viewer-只读'},
    {value: 'RW', label: 'Editor-编辑'},
    {value: 'ALL', label: 'All-全部'}
]

export const getVaryPermissions = () => {
    return [
        {value: 'V', label: i18n.t('teamFolders.varyPermissionValue.V'), disabled: true},
        {value: 'R', label: i18n.t('teamFolders.varyPermissionValue.R')},
        {value: 'RW', label: i18n.t('teamFolders.varyPermissionValue.RW')},
        {value: 'ALL', label: i18n.t('teamFolders.varyPermissionValue.All')}
    ]
};

export const getShareTo2Permissions = () => {
    return [
        {value: 'R', label: 'shareTo.permission.read'},
        {value: 'RW', label: 'shareTo.permission.edit'},
        {value: 'Owner', label: 'shareTo.permission.Owner'}
    ]
};

export const shareStatus = [
    {value: 'A', label: 'Active-正常'},
    {value: 'M', label: 'Expired-到期'},
    {value: 'C', label: 'Cancel-取消分享'}
]

export const getShareStatus = () => {
    return [
        {value: 'A', label: i18n.t('shareStatus.A')},
        {value: 'M', label: i18n.t('shareStatus.M')},
        {value: 'C', label: i18n.t('shareStatus.C')}
    ]
}

/** 区域功能配置 */
export const AreaRangeCodeConfig = [
    {
        //全部
        key: "A",
        searchFolder: true //支持文件夹搜索
    },
    {
        //未分类
        key: "UF",
        search: true
    },
    {
        //未标签
        key: "UT",
        search: true
    }
];

/** 搜索筛选范围 */
export const folderViewOption = [
    {
        label: 'withinFolder',
        checked: false,
        v: 'withinFolder',
        show: true,
        type: 1 //特殊模式，如果没有这个字段，自动作为扩展筛选字段
    },
    {
        label: 'extension',
        checked: true,
        v: 'EXTENTION',
        show: true
    },
    {
        label: 'tags',
        checked: true,
        v: 'TAG_NAME',
        show: true
    },
    {
        label: 'link',
        checked: true,
        v: 'SRC_URL',
        show: true
    },
    {
        label: 'annotation',
        checked: true,
        v: 'annotation',
        show: true
    },
    {
        label: 'folder',
        checked: true,
        v: 'LABEL_NAME',
        show: true
    },
    {
        label: 'fileName',
        checked: true,
        v: 'ASSET_NAME',
        show: true
    },
    {
        label: 'notes',
        checked: true,
        v: 'ASSET_DESC',
        show: true
    },
    {// 分享人
        label: 'sharer',
        checked: true,
        v: 'user_create',
        show: true,
        folderType: "SF"
    },
    {
        label: 'content',
        checked: true,
        v: 'content',
        show: true
    }
]

export const folderViewCache = {search: '', zoom: 50}

export const orderOptionsComm = [
    /* 文件名 */
    {
        label: 'fileName',
        v: 'ASSET_NAME',
        show: true
    },
    /* 上次修改时间 */
    {
        label: 'lastUpdTm',
        v: 'LAST_UPD_TM',
        show: true
    }
]

export const orderOptionsCommReview = [
    {
        label: 'crtTm',
        v: 'CRT_TM',
        show: true
    },
    {
        label: 'lastUpdTm',
        v: 'LAST_UPD_TM',
        show: true
    },
    {
        label: 'fileName',
        v: 'REVIEW_NAME',
        show: true
    }
]

export const defAssetListParams = {
    skip: 0,
    limit: 20,
    folderId: undefined,
    rangeCode: undefined,
    searches: {},
    filters: {},
    searchedImg: null,
    IS_PRECISE_QUERY: 'N',
    IS_QUERY_SUBFILE: getDeployDefaultConfig('defaultQuerySubFile',"Y"),  // 是否默认勾选显示子文件夹内容
    QUERY_ALL_FOLDERS: 'N', // 后面不再使用了
    orderField: 'LAST_UPD_TM',
    orderType: 'D'
}

export const labelTypePrivate = 'F'
export const labelTypeSync = 'SYNC'
export const labelTypeTeam = 'SF'
export const labelTypeDepot = 'D'
export const labelTypeWorkspace = 'W'
export const defaultLabelType = labelTypeTeam
export const defaultUnrealLabelType = labelTypeDepot
//分享给我文件夹
export const shareFolderType = 'AF'
//number of select uploads
export const selUpNum = 1000
export const maxDragUpload = 2 * 10000

export const dlConcurrentNum = 1
//Concurrent number of simultaneous uploads
export const upConcurrentNum = 10
export const defLargeFileSize = 128 * 1024 * 1024

//超级管理员，修改权限时隐藏不可修改用户
export const superAdmins = ['ORANGE_ADMIN', 'DefaultGroup']

export const addToTeamMaxNum = 50

export const defaultSharedByMeTablePage = {
    page: 1,
    pagesize: 15
}
export const DEFAULT_PAGE_SIZES = [10, 15, 20, 50, 100]

export const ACT_ADD = 'add'
export const ACT_EDIT = 'edit'
export const ACT_CHECK = 'check'

const prioritySvg = `<svg t="1611312351563" class="icon icon-priority" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10350"><path d="M308.906667 106.951111a72.248889 72.248889 0 0 1-31.288889 59.733333v781.653334a41.528889 41.528889 0 0 1-83.057778 0V166.684444A72.817778 72.817778 0 0 1 236.088889 34.133333a73.386667 73.386667 0 0 1 72.817778 72.817778z m0 56.888889v321.991111c209.351111 77.368889 341.333333-77.368889 550.115555 0V164.408889c-209.351111-77.368889-341.333333 76.8-550.115555 0z m0 0" p-id="10351"></path></svg>`

export const priorityArr = [
    {
        key: -1,
        labelKey: 'none',
        color: '',
        content: ''
    },
    {
        key: 1,
        labelKey: 'high',
        color: 'red',
        content: prioritySvg
    },
    {
        key: 2,
        labelKey: 'middle',
        color: 'yellow',
        content: prioritySvg
    },
    {
        key: 3,
        labelKey: 'low',
        color: 'green',
        content: prioritySvg
    }
]

export const defTaskListParams = {
    searches: null,
    filters: null,
    precise: 'N',
    includeChildNode: 'Y'
}
export const prodTypeArr = [
    {key: '01', label: 'concept'},
    {key: '02', label: '3D character'},
    {key: '03', label: '3D environment'},
    {key: '04', label: 'rigging'},
    {key: '05', label: 'animation'},
    {key: '06', label: 'VFX'},
    {key: '07', label: 'UI'},
    {key: '08', label: 'map/level'},
    {key: '09', label: 'music&SFX'},
    {key: '10', label: 'video'},
    {key: '11', label: 'other'}
]
export const prodPhaseArr = [
    {key: '01', label: 'sketch', p: ['01', '04', '05', '06', '07', '08', '09', '10']},
    {key: '02', label: 'color selection', p: ['01', '04', '05', '06', '07', '08', '09', '10']},
    {key: '03', label: 'refinement', p: ['01', '04', '05', '06', '07', '08', '09', '10']},
    {key: '04', label: 'orthographic view/ ortho view', p: ['01', '04', '05', '06', '07', '08', '09', '10']},
    {key: '05', label: 'high poly', p: ['02', '03']},
    {key: '06', label: 'topology', p: ['02', '03']},
    {key: '07', label: 'low poly', p: ['02', '03']},
    {key: '08', label: 'material', p: ['02', '03']},
    {key: '09', label: 'rigging', p: ['02', '03']},
    {key: '10', label: 'animation', p: ['02', '03']},
    {key: '11', label: 'VFX', p: ['02', '03']}
]

export const system_orange = 'ORANGE'
export const system_passion = 'PASSION'
export const system_unreal = 'UNREAL'
export const system_member = 'MEMBER'
export const system_devConfig = 'DEVCONFIG'
export const system_payment = 'PAYMENT'
export const system_redoc = 'DEVCONFIG'
export const system_share_management = 'SHAREMANAGEMENT'
export const system_repository = 'REPOSITORY'
export const system_actionLog = 'ACTIONLOG'
export const system_affine = 'AFFINE'


//三方登录地址
//dev server url
export const bklive_url = 'http://bklivetest.pook.com.cn'
//production server url
//export const bklive_url = "https://nbklive.987ht.net"
const sandboxType = 1
const bklive_suffix = '/index.do?appId=401&sandboxType=' + sandboxType

export const bkliveThirdUrl = bklive_url + bklive_suffix

export const ganttGridWidth = 420

export const assetTypeImage = 'I'
export const assetTypeVideo = 'V'
export const assetTypeOther = 'O'

export const imageExtensions = [
    '.bmp', '.BMP', '.gif', '.GIF', '.ico', '.ICO', '.jpeg', '.JPEG',
    '.jpg', '.JPG', '.png', '.PNG', '.webp', '.WEBP', '.svg', '.SVG'
];

export const textureSupportedExts = [
    '.bmp', '.gif', '.ico', '.jpeg', '.jpg', '.png', '.webp', '.svg', ".tga"//, ".psd"
    , ".tif"
];

export const videoExtensions = [
    '.mp4', '.MP4', '.mkv', '.MKV',
    '.mov', '.MOV', '.webm', '.WEBM'
]

export const colorArr = [
    {
        key: '01',
        id: 1,
        label: 'blue',
        color: '#34a3db',
        innerColor: 'rgb(52, 163, 219)',
        outerColor: 'rgba(52,163,219,0.2)'
    },
    {
        key: '02',
        id: 2,
        label: 'green',
        color: '#1ABCA1',
        innerColor: 'rgb(26,188,161)',
        outerColor: 'rgba(26, 188, 161, 0.2)'
    },
    {
        key: '03',
        id: 3,
        label: 'orange',
        color: '#E67422',
        innerColor: 'rgb(230, 116, 34)',
        outerColor: 'rgba(230, 116, 34,0.2)'
    },
    {
        key: '04',
        id: 4,
        label: 'red',
        color: '#E74A3C',
        innerColor: 'rgb(231, 74, 60)',
        outerColor: 'rgba(231, 74, 60,0.2)'
    }

]

/** 工具-评论-标注工具 */
export const toolTypeArrComment = [
    {
        key: '14',
        id: 4,
        label: 'pen',
        type: 'freeDrawing',
        iconClass: `3d_icon_mark-_brush-nor`
    },
    {
        key: '11',
        id: 1,
        label: 'arrow',
        type: 'arrow',
        iconClass: `3d_icon_mark-_arrow-nor`
    },
    {
        key: '12',
        id: 2,
        label: 'rect',
        type: 'rect',
        iconClass: `3d_icon_mark-_Rectangle-nor`
    },
    {
        key: '13',
        id: 3,
        label: 'line',
        type: 'line',
        iconClass: `3d_icon_mark-_line-nor`
    }
]
export const toolTypeArr = [
    {
        key: '14',
        id: 4,
        label: 'pen',
        type: 'freeDrawing',
        icon: `<svg width="12" height="12" viewBox="0 0 16 16"
                 xmlns="http://www.w3.org/2000/svg"
                 xmlns:xlink="http://www.w3.org/1999/xlink">
                <defs>
                    <path
                        d="M3.455 11.111C3.74 9.084 6.86 8.076 7.545 8 8.364 8 9.724 9.272 10 10.333c0 3.885-4.311 4.739-6.545 4.667C1.324 14.918.799 13.462 1 13.444c.518-.04 2.198.534 2.455-2.333zM14.928.885c1.732-1.623 2.598-.812 1.732.811L11.464 7.2c0 .988-.866 1.8-.866 1.8 0-.634-.866-2.257-2.598-2.435 0 0 0-.811 1.732-.988 0 0 6.062-5.504 5.196-4.692z"
                        id="ic-annotation-brush-16px-a"></path>
                </defs>
                <use fill="currentColor" xlink:href="#ic-annotation-brush-16px-a"
                     transform="translate(-1)" fill-rule="evenodd"></use>
            </svg>`
    },
    {
        key: '11',
        id: 1,
        label: 'arrow',
        type: 'arrow',
        icon: `<svg width="12" height="12" viewBox="0 0 16 16"
                     xmlns="http://www.w3.org/2000/svg"
                     xmlns:xlink="http://www.w3.org/1999/xlink">
                    <defs>
                        <path
                            d="M12.256 6.256L0 16 9.52 3.52 6.64.64A.375.375 0 0 1 6.905 0h8.72c.207 0 .375.168.375.375v8.72a.375.375 0 0 1-.64.265l-3.104-3.104z"
                            id="ic-annotation-arrow-16px-a"></path>
                    </defs>
                    <use fill="currentColor" xlink:href="#ic-annotation-arrow-16px-a"
                         fill-rule="evenodd"></use>
                </svg>`
    },
    {
        key: '12',
        id: 2,
        label: 'rect',
        type: 'rect',
        icon: `<svg width="12" height="12" viewBox="0 0 16 16"
                     xmlns="http://www.w3.org/2000/svg"
                     xmlns:xlink="http://www.w3.org/1999/xlink">
                    <defs>
                        <path
                            d="M6 0h4a6 6 0 0 1 6 6v4a6 6 0 0 1-6 6H6a6 6 0 0 1-6-6V6a6 6 0 0 1 6-6zm0 2a4 4 0 0 0-4 4v4a4 4 0 0 0 4 4h4a4 4 0 0 0 4-4V6a4 4 0 0 0-4-4H6z"
                            id="ic-annotation-rectangle-16px-a"></path>
                    </defs>
                    <use fill="currentColor"
                         xlink:href="#ic-annotation-rectangle-16px-a"></use>
                </svg>`
    },
    {
        key: '13',
        id: 3,
        label: 'line',
        type: 'line',
        icon: `<svg width="12" height="12" viewBox="0 0 16 16"
                     xmlns="http://www.w3.org/2000/svg">
                    <path d="M13.435 0l2.121 2.121L2.121 15.556 0 13.435z"
                          fill="currentColor" fill-rule="evenodd"></path>
                </svg>`
    },

    {
        key: '10',
        id: 5,
        label: 'polygon',
        type: 'polygon',
        icon: `<svg  width="12" height="12" viewBox="0 0 16 16">
              <polygon points="0,0 8,16 16,8 10,0"
                       fill="none" style="stroke-width:2;stroke:#ccc;"/>
            </svg>`
    }
]

export const projectContextMenuItems = [
    {key: '01', desc: 'action.view', methods: 'handleView', icon: 'el-icon-view'},
    {key: '02', desc: 'action.edit', methods: 'handleEdit', icon: 'el-icon-edit'},
    {key: '03', desc: 'action.delete', methods: 'handleDelete', icon: 'el-icon-delete'},
    {key: '04', desc: 'action.refresh', methods: 'handleRefresh', icon: 'el-icon-refresh-right'}
]

export const activityLogSceneKeys = {
    'S1.C': ['CRT_USR_NAME', 'REVIEW_NAME', 'REVIEW_ID'],
    'S1.M': ['CRT_USR_NAME', 'REVIEW_NAME', 'REVIEW_ID'],
    'S1.D': ['CRT_USR_NAME', 'REVIEW_NAME', 'REVIEW_ID'],
    'S2.C': ['CRT_USR_NAME', 'ASSET_NAME', 'VER_NO', 'REVIEW_NAME', 'S_URL', 'REVIEW_ID'],
    'S2.D': ['CRT_USR_NAME', 'ASSET_NAME', 'VER_NO', 'REVIEW_NAME', 'S_URL'],
    'S3.C': ['CRT_USR_NAME', 'ASSET_NAME', 'VER_NO', 'REVIEW_NAME', 'COMMENTS'],
    'S3.M': ['CRT_USR_NAME', 'ASSET_NAME', 'VER_NO', 'REVIEW_NAME', 'COMMENTS'],
    'S4.C': ['CRT_USR_NAME', 'TASK_NAME'],
    'S4.M': ['CRT_USR_NAME', 'TASK_NAME'],
    'S4.D': ['CRT_USR_NAME', 'TASK_NAME'],
    'S5.C': ['CRT_USR_NAME', 'TASK_NAME'],
    'S5.M': ['CRT_USR_NAME', 'TASK_NAME'],
    'S5.D': ['CRT_USR_NAME', 'TASK_NAME']
}

export const commentOnlyScene = 'S3'

export const commentPCSList = {
    //-1: default
    //    an image annotation
    //      pnt-asset-seq is undefined, asset-seq is the image asset id
    //      available in both orange and review
    //    an video/spine/3d/gif comment WITH NEWLY drawn image
    //      both PNT_ASSET_SEQ and ASSET-SEQ are defined
    //      available in both orange and review
    //    an video/spine/3d/gif comment with EXISTING drawn image
    //      both pnt-asset-seq and asset-seq are defined
    //      available in both orange and review
    //
    //-2: non_VS3G_txt
    //    a direct text comment for NON-(video/spine/3d/gif) WITHOUT drawn image
    //      those types will have only text comment and available in review only
    //      only asset-seq is defined
    //    an image comment WITHOUT drawn area
    //      only asset-seq is defined
    //      this type of comment for image asset is only available in REVIEW
    //
    //-3: VS3G_txt
    //    a direct text comment for video/spine/3d/gif WITHOUT drawn image
    //      available in both ORANGE and REVIEW
    //      pnt-asset-seq is undefined, asset-seq is defined only
    //
    //some other value: will be a reply message to above types

    default: -1,
    non_VS3G_txt: -2,
    VS3G_txt: -3
}
export const NOTIFICATION_PERMISSION = {
    DEFAULT: 'default',
    GRANTED: 'granted',
    DENIED: 'denied'
}
export const shareTypes = {
    review: 'R',
    task: 'T',
    project: 'P',
    asset: 'A',
    folder: 'F'
}

export const shareRanges = {
    all: 'A',
    branch: 'B',
}

export const defaultBackgroundImg = './static/img/directly/login/bg-00001.jpg'


/**
 * 文件夹资源显示模式
 */
export const waterfallViewMode = {
    /**
     * 正常图片模式
     */
    normal: 'normal',
    /**
     * 列表详情模式
     */
    list: 'list'
}


export const analysisStatus = [
    {value: 'C', label: 'complete'},
    {value: 'P', label: 'processing'},
    {value: 'E', label: 'error'}
]

export const analysisResult = [
    {value: 'N', label: 'normal'},
    {value: 'V', label: 'suspicious'}
]

export const analysisType = [
    {value: 'DANGER', label: 'danger'},
    {value: 'YOLO', label: 'yolo'}
]

export const getRoles = () => {
    return [
        {value: 'R1', label: i18n.t('roles.R1')},
        /* { value: 'R2', label: '组长' },*/
        {value: 'R3', label: i18n.t('roles.R3')}
    ]
}

export const getPosition = () => {
    return [
        {value: 'Y', label: i18n.t('member.admin')},
        {value: 'N', label: i18n.t('member.member')},
        {value: 'null', label: i18n.t('member.member')}
    ]
}

export const VALIDATE_UPLOAD_ENUM = {
    NO_REPEAT: 0, // 没有重复的文件
    PROCESSING: 5, //正在处理
    IN_DUSTBIN: 6, //当前上传的文件在垃圾箱中
    REPEAT_NAME: 7, //文件名重复
    OTHER: 8,  // 其他未知的返回
    ERROR: 9,  // 错误
    SPECIFIC: 10,  // 特殊类型文件
    REPEAT_PROCESSING: 11,  // 已有重复的文件正在上传处理中
}

// 成员管理角色枚举
export const ROLE_ENUM = {
    SUPER_ADMIN: 'SA',
    ADMIN: 'A', //管理员
    MEMBER: 'U', //成员
    GUEST_MEMBER: 'V', //访客
}

// 成员管理添加角色选择器
export const ROLE_OPTIONS = [
    {
        value: ROLE_ENUM.ADMIN,
        label: 'member.admin'
    }, {
        value: ROLE_ENUM.MEMBER,
        label: 'member.member'
    },
    {
        value: ROLE_ENUM.GUEST_MEMBER,
        label: 'member.guestMember'
    },
];

// team来源枚举值
export const TEAM_SOURCE_ENUM = {
    ALL: 'ALL', // 系统（全体员工组）
    O: 'O', // 手动创建
    F: 'F', // 群聊组
    LARK: 'lark', //飞书
    LARK2: 'lark2', //lark
    SLACK: 'slack',   //slack
    WECOM: 'wecom',   //微信
    BKLIVE: 'bklive',   //波克
    DINGTALK: 'dingtalk',   //波克
}

//Orange,Passion,Teams,Dashboard,Task
export const menus = [
    {value: 'Orange', path: '/orange'},
    {value: 'Teams', path: '/team'},
    {value: 'Dashboard', path: '/dashboard'},
    {value: 'Member', path: '/member'},
    {value: 'DevConfig', path: '/devConfig'},
    {value: 'Payment', path: '/payment'},
    {value: 'ShareManagement', path: '/shareManagement'},
    {value: 'Repository', path: '/repository'},
    {value: 'ActionLog', path: '/actionLog'},
    {value: 'BlockchainLog', path: '/blockchain-log'},//直接显示
    {value: 'Aigc', path: '/Aigc'},
    {value: 'Affine', path: '/affine'},
]

export const upDownStatus = {
    //index 0: label, index 1: order
    waiting: ['waiting', 3],
    processing: ['processing', 2],
    complete: ['complete', 5],
    failed: ['failed', 1],
    cancel: ['cancel', 4],
    zipping: ['zipping', 6]
};
export const NO_PERMISSION_DIALOG_TYPE = {
    ADD_FOLDER: 'addFolder',
    DEL_FOLDER: 'delFolder',
    REPEAT_HANDLING: 'repeatHandling'
}

export const modelMaterials = [
    {
        order: 1,
        name: "Shining Plustic",
        metalness: 0,
        roughness: 0.12,
        color: "#FFFFFF",
        id: 1,
        src: "./static/modelSamples/material/1.png"
    },
    {
        order: 2,
        name: "Matte Plustic",
        metalness: 0,
        roughness: 0.92,
        color: "#FFFFFF",
        id: 2,
        src: "./static/modelSamples/material/2.png"
    },
    {
        order: 3,
        name: "Gold",
        metalness: 1,
        roughness: 0.3,
        color: "#FFD700",
        id: 3,
        src: "./static/modelSamples/material/3.png"
    },
    {
        order: 4,
        name: "Iron",
        metalness: 1,
        roughness: 0.3,
        color: "#D4D7D9",
        id: 4,
        src: "./static/modelSamples/material/4.png"
    },
    {
        order: 5,
        name: "Stone",
        metalness: 0,
        roughness: .98,
        color: "#696969",
        id: 5,
        src: "./static/modelSamples/material/5.png"
    },
    {
        order: 6,
        name: "Copper Bronze",
        metalness: 1,
        roughness: .25,
        color: "#F5C290",
        id: 6,
        src: "./static/modelSamples/material/6.png"
    },
    {
        order: 7,
        name: "Real Clay",
        metalness: 0,
        roughness: .96,
        color: "#835A36",
        id: 7,
        src: "./static/modelSamples/material/7.png"
    },
    {
        order: 8,
        name: "Color Grid",
        metalness: 0,
        roughness: .96,
        color: "#FFFFFF",
        id: 8,
        src: "./static/modelSamples/material/8.png",
        diffusion: "./static/modelSamples/diffusion/checkTexture.png",
    }
];

export const downloadThreshold = 3 * 1024 * 1024 * 1024;

export const authFailCode = ["1006", "1009", "1004", "1005", "1008"];

export const WATERFALL_LINE = {
    h:'h', //横图模式
    v:'v', //竖图模式
    f:'f' //固定尺寸模式
};

export const RetryMax = 6;

export const TypeExtMap = {
    spine: ['.atlas'],
    "3D": [".fbx", ".stl", ".obj", ".gltf", ".glb"]
};

export const UploadGroupFilesExt = [
    '.atlas',".fbx", ".stl", ".obj", ".gltf", ".glb", ".blend", ".max", ".mb", ".ma"
];
